<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script src="../js/vue.js"></script>
</head>

<body>

    <div id="root">
        <app></app>
    </div>
    <script>
        Vue.config.productionTip = false

        // 定义student组件
        // 在模板的使用中一定要把注册组件写在前面，然后再去使用组件
        // 在组件模板的书写中一定不要忘记要用一个div盒子包住里面模板的内容
        const student = Vue.extend({
            template: `
            <div>
            <h2>学生姓名:{{name}}</h2>
            <h2>学生年龄:{{age}}</h2>
            </div>
            
            `,
            data() {
                return {
                    name: 'yuxiaoayo',
                    age: 24
                }
            }
        })

        // 定义school组件

        const school = Vue.extend({
            template: `
            <div>
            <h2>学校名称:{{name}}</h2>
            <h2>学校地址:{{address}}</h2>
            <student></student>
            </div>
            
            `,
            data() {
                return {
                    name: 'chongyou',
                    address: '南山'
                }
            },
            components: {
                student
            }
        })



        // 定义hello组件

        const hello = Vue.extend({
            template: `
            <div>
            <h1>你好啊！</h1>
            <h2>这是你的第一个组件嵌套测试</h2>
            </div>
            
            `,
        })

        // 定义app组件
        const app = Vue.extend({
            template: `
            <div><h1>你好啊！我是app组件</h1>
                <school></school>
                <hello></hello>
            </div> 
            `,
            components: {
                school,
                hello
            }
        })
        // 使用一个app组件把其他组件都注册在它的内部,这样vm就只需要管理它一个组件就够了



        var vm = new Vue({
            el: '#root',
            data: {},
            methods: {},
            components: {
                app
            }
        });
    </script>
</body>

</html>